package com.ssy.lingxi.after.sale.model.vo.response;

import com.ssy.lingxi.after.sale.model.constant.ReturnGoodsInnerStatusEnum;
import com.ssy.lingxi.after.sale.model.constant.ReturnGoodsOuterStatusEnum;

import java.io.Serializable;
import java.util.List;

/**
 *  退货申请查询VO-app
 * @author ds
 * @date 2021/9/7
 * @version 2.0.0
 */
public class ReturnGoodsQueryAppVO implements Serializable {

    private static final long serialVersionUID = 6145854452116004974L;

    public ReturnGoodsQueryAppVO() {
    }

    public ReturnGoodsQueryAppVO(Long returnId, String applyNo, Double refundAmount, Integer innerStatus, Integer outerStatus, Long shopId, String shopLogo, String shopName, Long returnLogisticsId, Long returnDeliveryId) {
        this.returnId = returnId;
        this.applyNo = applyNo;
        this.refundAmount = refundAmount;
        this.innerStatus = innerStatus;
        this.innerStatusName= ReturnGoodsInnerStatusEnum.getMessage(innerStatus);
        this.outerStatus = outerStatus;
        this.outerStatusName= ReturnGoodsOuterStatusEnum.getMessage(outerStatus);
        this.shopId = shopId;
        this.shopLogo = shopLogo;
        this.shopName = shopName;
        this.returnLogisticsId= returnLogisticsId;
        this.returnDeliveryId=returnDeliveryId;
    }



    /**
     * 退货id
     */
    private Long returnId;

    /**
     * 申请单号
     */
    private String applyNo;

    /**
     * 退款金额
     */
    private Double refundAmount;

    /**
     * 内部状态
     * 待提交退货申请单 - 1
     * 审核通过(提交) - 2
     * 审核不通过(提交) - 24
     * 审核通过(一级) - 3
     * 审核不通过(一级) - 25
     * 审核通过(二级) - 4
     * 审核不通过(二级) - 5
     * 审核通过(确认) - 6
     * 审核不通过(确认) - 7
     * 待新增退货发货单 - 8
     * 待审核退货发货单 - 9
     * 采购商待新增物流单 - 10
     * 采购商待确认物流单 - 11
     * 待确认退货发货 - 12
     * 待新增退货入库单 - 13
     * 待审核退货入库单 - 14
     * 待确认退货收货 - 15
     * 待确认退货回单 - 16
     * 待退款 - 17
     * 待确认退款 - 18
     * 退款失败 - 19
     * 退款成功 - 20
     * 待确认售后完成 - 21
     * 确认售后完成 - 22
     * 不接受物流单 - 23
     */
    private Integer innerStatus;

    /**
     * 内部状态名称
     */
    private String innerStatusName;

    /**
     * 外部状态
     * 待提交申请单 - 1
     * 待确认申请单（已提交申请单） - 2
     * 不接受申请（确认申请单） - 3
     * 接受申请（确认申请单） - 4
     * 待新增退货发货单（确认申请单后） - 5
     * 采购商待新增物流单（新增换货发货单审核通过） - 6
     * 待退货发货（新增物流单审核通过） - 7
     * 待新增退货入库单（已退货发货） - 8
     * 待退货收货（已新增换货入库单） - 9
     * 待确认退货回单（已换货收货） - 10
     * 待退款(确认退货回单) - 11
     * 待确认退款(退款) - 12
     * 确认退款未到账 - 13
     * 待确认售后完成(确认退款) - 14
     * 售后完成 - 15
     */
    private Integer outerStatus;

    /**
     * 外部状态名称
     */
    private String outerStatusName;

    /**
     * 店铺id
     */
    private Long shopId;
    /**
     * 店铺logo
     */
    private String shopLogo;
    /**
     * 店铺名称
     */
    private String shopName;
    /**
     * 退货物流单Id
     */
    private Long returnLogisticsId;
    /**
     * 退货发货单号
     */
    private Long returnDeliveryId;
    /**
     * 退货商品列表.
     */
    private List<ReturnGoodsQueryProductAppVO> productList;

    public Long getReturnId() {
        return returnId;
    }

    public void setReturnId(Long returnId) {
        this.returnId = returnId;
    }

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public Double getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(Double refundAmount) {
        this.refundAmount = refundAmount;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public String getInnerStatusName() {
        return innerStatusName;
    }

    public void setInnerStatusName(String innerStatusName) {
        this.innerStatusName = innerStatusName;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public String getOuterStatusName() {
        return outerStatusName;
    }

    public void setOuterStatusName(String outerStatusName) {
        this.outerStatusName = outerStatusName;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopLogo() {
        return shopLogo;
    }

    public void setShopLogo(String shopLogo) {
        this.shopLogo = shopLogo;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Long getReturnLogisticsId() {
        return returnLogisticsId;
    }

    public void setReturnLogisticsId(Long returnLogisticsId) {
        this.returnLogisticsId = returnLogisticsId;
    }

    public List<ReturnGoodsQueryProductAppVO> getProductList() {
        return productList;
    }

    public void setProductList(List<ReturnGoodsQueryProductAppVO> productList) {
        this.productList = productList;
    }

    public Long getReturnDeliveryId() {
        return returnDeliveryId;
    }

    public void setReturnDeliveryId(Long returnDeliveryId) {
        this.returnDeliveryId = returnDeliveryId;
    }
}
